]> dgit.raspbian.org Git - libaio.git/log
libaio.git
2 years agoMerge libaio (0.3.113-7) import into refs/heads/workingbranch
Guillem Jover [Wed, 6 Mar 2024 12:20:49 +0000 (13:20 +0100)]
Merge libaio (0.3.113-7) import into refs/heads/workingbranch

2 years ago[PATCH libaio] harness: Hardcode list of ports that cannot check PROT_WRITE is readable
Guillem Jover [Wed, 6 Mar 2024 02:08:15 +0000 (03:08 +0100)]
[PATCH libaio] harness: Hardcode list of ports that cannot check PROT_WRITE is readable

On these ports, the write() check does not work, so we need to hardcode
the list.

Gbp-Pq: Name 0001-harness-Hardcode-list-of-ports-that-cannot-check-PRO.patch

2 years ago[PATCH libaio 26/26] harness: Disable failing test 23
Guillem Jover [Tue, 19 Apr 2022 13:45:39 +0000 (15:45 +0200)]
[PATCH libaio 26/26] harness: Disable failing test 23

This new test fails on several architectures. But it is a new test
intended to check for a Linux kernel regression, so we are not worse
off than were before. Add it to the EXTRACASES variables, which has
currently the side effect of disabling it, as it is not handled
explicitly in the make target responsible for that variable.

This is probably not needed anymore with the off64_t fix in upstream,
but let's not try to revert this now while the time64 transition is
ongoing.

Origin: vendor
Forwarded: not-needed
Sent-Upstream: not-relevant
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0026-harness-Disable-failing-test-23.patch

2 years ago[PATCH libaio 25/26] build: Use a temporary SONAME bump to avoid stomping over upstre...
Guillem Jover [Mon, 4 Mar 2024 12:47:22 +0000 (13:47 +0100)]
[PATCH libaio 25/26] build: Use a temporary SONAME bump to avoid stomping over upstream ABI

We are using a different SONAME in case upstream wants to see a
different implementation for the newly added symbols. Where we then can
easily revert to the original SONAME. If upstream takes the symbols as
is, then we can simply create a compat symlink.

Origin: vendor
Forwarded: not-needed
Sent-Upstream: not-relevant
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0025-build-Use-a-temporary-SONAME-bump-to-avoid-stomping-.patch

2 years ago[PATCH libaio 24/26] Disable io_pgetevents_time64 as it is broken on 64-bit kernel...
Guillem Jover [Tue, 5 Mar 2024 01:01:57 +0000 (02:01 +0100)]
[PATCH libaio 24/26] Disable io_pgetevents_time64 as it is broken on 64-bit kernel 32-bit userland

On 64-bit kernels running 32-bit userland, this syscall misbehaves
when passing a sigmask by always returning -EINVAL. This works on 32-bit
kernels. The syscall entry point is possible wrong and needs to be fixed
in the kernel. For now disable as the code is handling clean 64-bit time_t
and the timeout is relative anyway.

Once this is fixed in the kernel, and after enough time has passed we
can decide whether to enable this.

Origin: vendor
Forwarded: not-needed
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0024-Disable-io_pgetevents_time64-as-it-is-broken-on-64-b.patch

2 years ago[PATCH libaio 23/26] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64...
Guillem Jover [Fri, 16 Aug 2019 00:33:46 +0000 (02:33 +0200)]
[PATCH libaio 23/26] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64-bit kernels

The kernel compat syscall in the kernel got introduced with a broken
layout, which requires a pointer to the actual sigset_t variable but
with the size of the running kernel, not the size of the compat code.

This means that when the wrapper sends the expected compat (32-bit)
pointer, the kernel reads a 64-bit pointer, eating with it also the
sigset size member. And then proceeds to fail the comparison of the
sigset_t size and returns EINVAL.

This really needs to be fixed in the kernel, as there's no apparent
user of the broken compat layout (from codesearch.debian.org, nor a
quick github.com search). But we have to workaround it in libaio so
that we can use kernels that have not yet been fixed.

We do that, by trying the non-broken layout (that would be used with
a 32-bit userland on a 32-bit kernel), and if that fails with -EINVAL
we retry with a structure padded to what the kernel expects.

Origin: vendor
Forwarded: not-needed
Sent-Upstream: rejected
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0023-Fix-io_pgetevents-syscall-wrapper-on-32-bit-userland.patch

2 years ago[PATCH libaio 22/26] Add time64 public functions on 32-bit architectures
Guillem Jover [Fri, 1 Mar 2024 00:52:51 +0000 (01:52 +0100)]
[PATCH libaio 22/26] Add time64 public functions on 32-bit architectures

This adds new time64 functions for io_getevents() and io_pgetevents()
that will get redirected when building with _TIME_BITS=64.

Ideally we should generate the .map file and not include these symbols
on 64-bit architectures, but this will do for now.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0022-Add-time64-public-functions-on-32-bit-architectures.patch

2 years ago[PATCH libaio 21/26] Add time64 syscall support
Guillem Jover [Fri, 1 Mar 2024 00:52:51 +0000 (01:52 +0100)]
[PATCH libaio 21/26] Add time64 syscall support

This implements both io_getevents() and io_pgetevents() as wrappers over
the new aio_getevents() and aio_pgetevents() which use __kernel_timespec
as its timespec data type which should always be 64-bit. We add the
necessary conversion from __kernel_old_timespec or timsepec struct
types.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0021-Add-time64-syscall-support.patch

2 years ago[PATCH libaio 20/26] Rename sigset struct from data to aio_sigset
Guillem Jover [Tue, 5 Mar 2024 01:47:50 +0000 (02:47 +0100)]
[PATCH libaio 20/26] Rename sigset struct from data to aio_sigset

This makes the purpose more clear, and matches the naming in the aio
syscall implementation in Linux.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0020-Rename-sigset-struct-from-data-to-aio_sigset.patch

2 years ago[PATCH libaio 19/26] Add x32 support
Guillem Jover [Sun, 12 Apr 2020 01:36:39 +0000 (03:36 +0200)]
[PATCH libaio 19/26] Add x32 support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0019-Add-x32-support.patch

2 years ago[PATCH libaio 18/26] Add SH support
Nobuhiro Iwamatsu [Sun, 12 Apr 2020 01:30:41 +0000 (03:30 +0200)]
[PATCH libaio 18/26] Add SH support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0018-Add-SH-support.patch

2 years ago[PATCH libaio 17/26] Add m68k support
Guillem Jover [Wed, 14 Aug 2019 01:25:22 +0000 (03:25 +0200)]
[PATCH libaio 17/26] Add m68k support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0017-Add-m68k-support.patch

2 years ago[PATCH libaio 16/26] Add PARISC support
Guillem Jover [Wed, 14 Aug 2019 01:22:10 +0000 (03:22 +0200)]
[PATCH libaio 16/26] Add PARISC support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0016-Add-PARISC-support.patch

2 years ago[PATCH libaio 15/26] Fix and improve MIPS support
Guillem Jover [Wed, 14 Aug 2019 01:18:50 +0000 (03:18 +0200)]
[PATCH libaio 15/26] Fix and improve MIPS support

Fix structure padding for MIPS 64, add syscall definitions, and the
kernel R/W pointer.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0015-Fix-and-improve-MIPS-support.patch

2 years ago[PATCH libaio 14/26] harness: Add KERNEL_RW_POINTER for various 32-bit architectures
Guillem Jover [Wed, 14 Aug 2019 01:30:09 +0000 (03:30 +0200)]
[PATCH libaio 14/26] harness: Add KERNEL_RW_POINTER for various 32-bit architectures

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0014-harness-Add-KERNEL_RW_POINTER-for-various-32-bit-arc.patch

2 years ago[PATCH libaio 13/26] syscall: Fix ia64 definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:44:43 +0000 (03:44 +0200)]
[PATCH libaio 13/26] syscall: Fix ia64 definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0013-syscall-Fix-ia64-definitions-to-match-exactly-the-ke.patch

2 years ago[PATCH libaio 12/26] syscall: Fix ARM definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:39:47 +0000 (03:39 +0200)]
[PATCH libaio 12/26] syscall: Fix ARM definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0012-syscall-Fix-ARM-definitions-to-match-exactly-the-ker.patch

2 years ago[PATCH libaio 11/26] Wrap long declarations exceeding 80 columns
Guillem Jover [Sun, 3 Mar 2024 19:28:30 +0000 (20:28 +0100)]
[PATCH libaio 11/26] Wrap long declarations exceeding 80 columns

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0011-Wrap-long-declarations-exceeding-80-columns.patch

2 years ago[PATCH libaio 10/26] Remove unused raw_syscall.c
Guillem Jover [Thu, 29 Feb 2024 23:18:42 +0000 (00:18 +0100)]
[PATCH libaio 10/26] Remove unused raw_syscall.c

The ia64_aio_raw_syscall assembler function was replaced by the
__ia64_raw_syscall in commit a4984400f1d40c3cd9353ee2d817271c0fa3b4bd.

The hand-crafted syscalls for all architectures then got removed
in commit 97fd3fc0195500e616e34047cba4846164c411d9.

This file has not actually been used for a while, so we can drop it.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0010-Remove-unused-raw_syscall.c.patch

2 years ago[PATCH libaio 09/26] Remove unused vsys_def.h
Guillem Jover [Thu, 29 Feb 2024 23:08:18 +0000 (00:08 +0100)]
[PATCH libaio 09/26] Remove unused vsys_def.h

This was an old header to handle the syscalls, which is not used anymore
since commit 34c539fcb98c4397b9f04e93f8a475a9e445cf33.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0009-Remove-unused-vsys_def.h.patch

2 years ago[PATCH libaio 08/26] Use new symver function attribute to support LTO builds
Guillem Jover [Tue, 2 Nov 2021 21:37:32 +0000 (22:37 +0100)]
[PATCH libaio 08/26] Use new symver function attribute to support LTO builds

The LTO support cannot work properly when there are versioned symbols
via asm statements, as those are not seen by the compiler. Use the new
function attributes if supported instead of the asm statements.

We need to move the SYMVER calls after the function definitions
otherwise it will reference symbols not yet seen.

Origin: vendor
Forwarded: https://marc.info/?l=linux-aio&m=164999309520544
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0008-Use-new-symver-function-attribute-to-support-LTO-bui.patch

2 years ago[PATCH libaio 07/26] Move semicolon to SYMVER and DEFSYMVER call sites
Guillem Jover [Tue, 2 Nov 2021 23:20:50 +0000 (00:20 +0100)]
[PATCH libaio 07/26] Move semicolon to SYMVER and DEFSYMVER call sites

These look like function macros, so let's unify their call sites to use
function syntax with a final semicolon.

Origin: vendor
Forwarded: https://marc.info/?l=linux-aio&m=164999309420541
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0007-Move-semicolon-to-SYMVER-and-DEFSYMVER-call-sites.patch

2 years ago[PATCH libaio 06/26] build: Remove all test artifacts on clean
Guillem Jover [Sun, 6 Aug 2023 18:56:10 +0000 (20:56 +0200)]
[PATCH libaio 06/26] build: Remove all test artifacts on clean

We create these artifacts when running the test suite, so should remove
them when running the clean target.

Reported-by: Lucas Nussbaum <lucas@debian.org>
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0006-build-Remove-all-test-artifacts-on-clean.patch

2 years ago[PATCH libaio 05/26] build: Honor user build flags
Guillem Jover [Sun, 12 Apr 2020 02:01:27 +0000 (04:01 +0200)]
[PATCH libaio 05/26] build: Honor user build flags

CPPFLAGS, CFLAGS and LDFLAGS are user flags, which we need to preserve,
regardless of the user passing them over the environment or the
command-line. Any required flag that the build system needs, has to be
set in some other flag (which we will namespace with «MK_») so that the
build will use even if the user flags are passed, even though the user
should be able to override by appending after them. We pass CPPFLAGS to
any compilation command that missed them.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0005-build-Honor-user-build-flags.patch

2 years ago[PATCH libaio 04/26] build: Fix DESTDIR and pathname variables handling
Guillem Jover [Sun, 12 Apr 2020 01:58:12 +0000 (03:58 +0200)]
[PATCH libaio 04/26] build: Fix DESTDIR and pathname variables handling

The convention for DESTDIR is that it is only prefixed during the
install target. In this case we postpone that to the inner Makefile
so that it can be invoked directly while preserving the expected
semantics. We should also prefer the user specified pathname variables
if already set in any way, and do not need to pass them explicitly
to the sub-make.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0004-build-Fix-DESTDIR-and-pathname-variables-handling.patch

2 years ago[PATCH libaio 03/26] build: Update .gitignore for the harness artifacts
Guillem Jover [Tue, 5 Mar 2024 09:12:32 +0000 (10:12 +0100)]
[PATCH libaio 03/26] build: Update .gitignore for the harness artifacts

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0003-build-Update-.gitignore-for-the-harness-artifacts.patch

2 years ago[PATCH libaio 02/26] man: Fix typos
Guillem Jover [Sun, 10 Oct 2021 04:14:51 +0000 (06:14 +0200)]
[PATCH libaio 02/26] man: Fix typos

Origin: vendor
Forwarded: https://marc.info/?l=linux-aio&m=164999309220532
Warned-by: lintian
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0002-man-Fix-typos.patch

2 years ago[PATCH libaio 01/26] harness: use off64_t instead of off_t in test 23.t (EINVAL on...
Andreas Baumann [Thu, 2 Jun 2022 11:33:11 +0000 (13:33 +0200)]
[PATCH libaio 01/26] harness: use off64_t instead of off_t in test 23.t (EINVAL on 32-bit)

Gbp-Pq: Name 0001-harness-use-off64_t-instead-of-off_t-in-test-23.t-EI.patch

2 years agolibaio (0.3.113-7) unstable; urgency=medium
Guillem Jover [Wed, 6 Mar 2024 12:20:49 +0000 (13:20 +0100)]
libaio (0.3.113-7) unstable; urgency=medium

  * Do not mark test suite as flaky on riscv64 and x32, these ports now work
    as expected.
  * Hardcode list of ports that cannot check for a readable PROT_WRITE, and
    instead expect the return value to be SIZE. This includes hppa, sparc
    and loong64.

[dgit import unpatched libaio 0.3.113-7]

2 years agoImport libaio_0.3.113-7.debian.tar.xz
Guillem Jover [Wed, 6 Mar 2024 12:20:49 +0000 (13:20 +0100)]
Import libaio_0.3.113-7.debian.tar.xz

[dgit import tarball libaio 0.3.113-7 libaio_0.3.113-7.debian.tar.xz]

3 years agoMerge libaio (0.3.113-5) import into refs/heads/workingbranch
Guillem Jover [Sun, 6 Aug 2023 19:12:34 +0000 (20:12 +0100)]
Merge libaio (0.3.113-5) import into refs/heads/workingbranch

3 years ago[PATCH libaio 16/16] harness: Disable failing test 23
Guillem Jover [Tue, 19 Apr 2022 13:45:39 +0000 (15:45 +0200)]
[PATCH libaio 16/16] harness: Disable failing test 23

From b108f741b6ebd1e68a0392a72ba8e35537689ba0 Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: not-needed

This new test fails on several architectures. But it is a new test
intended to check for a Linux kernel regression, so we are not worse
off than were before. Add it to the EXTRACASES variables, which has
currently the side effect of disabling it, as it is not handled
explicitly in the make target responsible for that variable.

Sent-Upstream: not-relevant
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0016-harness-Disable-failing-test-23.patch

3 years ago[PATCH libaio 15/16] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64...
Guillem Jover [Fri, 16 Aug 2019 00:33:46 +0000 (02:33 +0200)]
[PATCH libaio 15/16] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64-bit kernels

From d3fe396f569d113e1259a77f875cde0ed52104ab Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: not-needed

The kernel compat syscall in the kernel got introduced with a broken
layout, which requires a pointer to the actual sigset_t variable but
with the size of the running kernel, not the size of the compat code.

This means that when the wrapper sends the expected compat (32-bit)
pointer, the kernel reads a 64-bit pointer, eating with it also the
sigset size member. And then proceeds to fail the comparison of the
sigset_t size and returns EINVAL.

This really needs to be fixed in the kernel, as there's no apparent
user of the broken compat layout (from codesearch.debian.org, nor a
quick github.com search). But we have to workaround it in libaio so
that we can use kernels that have not yet been fixed.

We do that, by trying the non-broken layout (that would be used with
a 32-bit userland on a 32-bit kernel), and if that fails with -EINVAL
we retry with a structure padded to what the kernel expects.

Sent-Upstream: rejected
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0015-Fix-io_pgetevents-syscall-wrapper-on-32-bit-userland.patch

3 years ago[PATCH libaio 14/16] Add x32 support
Guillem Jover [Sun, 12 Apr 2020 01:36:39 +0000 (03:36 +0200)]
[PATCH libaio 14/16] Add x32 support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0014-Add-x32-support.patch

3 years ago[PATCH libaio 13/16] Add SH support
Nobuhiro Iwamatsu [Sun, 12 Apr 2020 01:30:41 +0000 (03:30 +0200)]
[PATCH libaio 13/16] Add SH support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0013-Add-SH-support.patch

3 years ago[PATCH libaio 12/16] Add m68k support
Guillem Jover [Wed, 14 Aug 2019 01:25:22 +0000 (03:25 +0200)]
[PATCH libaio 12/16] Add m68k support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0012-Add-m68k-support.patch

3 years ago[PATCH libaio 11/16] Add PARISC support
Guillem Jover [Wed, 14 Aug 2019 01:22:10 +0000 (03:22 +0200)]
[PATCH libaio 11/16] Add PARISC support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0011-Add-PARISC-support.patch

3 years ago[PATCH libaio 10/16] Fix and improve MIPS support
Guillem Jover [Wed, 14 Aug 2019 01:18:50 +0000 (03:18 +0200)]
[PATCH libaio 10/16] Fix and improve MIPS support

Fix structure padding for MIPS 64, add syscall definitions, and the
kernel R/W pointer.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0010-Fix-and-improve-MIPS-support.patch

3 years ago[PATCH libaio 09/16] harness: Add KERNEL_RW_POINTER for various 32-bit architectures
Guillem Jover [Wed, 14 Aug 2019 01:30:09 +0000 (03:30 +0200)]
[PATCH libaio 09/16] harness: Add KERNEL_RW_POINTER for various 32-bit architectures

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0009-harness-Add-KERNEL_RW_POINTER-for-various-32-bit-arc.patch

3 years ago[PATCH libaio 08/16] syscall: Fix ia64 definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:44:43 +0000 (03:44 +0200)]
[PATCH libaio 08/16] syscall: Fix ia64 definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0008-syscall-Fix-ia64-definitions-to-match-exactly-the-ke.patch

3 years ago[PATCH libaio 07/16] syscall: Fix ARM definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:39:47 +0000 (03:39 +0200)]
[PATCH libaio 07/16] syscall: Fix ARM definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0007-syscall-Fix-ARM-definitions-to-match-exactly-the-ker.patch

3 years ago[PATCH libaio 06/16] Use new symver function attribute to support LTO builds
Guillem Jover [Tue, 2 Nov 2021 21:37:32 +0000 (22:37 +0100)]
[PATCH libaio 06/16] Use new symver function attribute to support LTO builds

From d2d9bd8ec04c3ddbea1f816da47475248135c515 Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: https://marc.info/?l=linux-aio&m=164999309520544

The LTO support cannot work properly when there are versioned symbols
via asm statements, as those are not seen by the compiler. Use the new
function attributes if supported instead of the asm statements.

We need to move the SYMVER calls after the function definitions
otherwise it will reference symbols not yet seen.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0006-Use-new-symver-function-attribute-to-support-LTO-bui.patch

3 years ago[PATCH libaio 05/16] Move semicolon to SYMVER and DEFSYMVER call sites
Guillem Jover [Tue, 2 Nov 2021 23:20:50 +0000 (00:20 +0100)]
[PATCH libaio 05/16] Move semicolon to SYMVER and DEFSYMVER call sites

From ed76466ea5e551a916e3003b8ed3d7afd5248e9a Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: https://marc.info/?l=linux-aio&m=164999309420541

These look like function macros, so let's unify their call sites to use
function syntax with a final semicolon.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0005-Move-semicolon-to-SYMVER-and-DEFSYMVER-call-sites.patch

3 years ago[PATCH libaio 04/16] build: Remove all test artifacts on clean
Guillem Jover [Sun, 6 Aug 2023 18:56:10 +0000 (20:56 +0200)]
[PATCH libaio 04/16] build: Remove all test artifacts on clean

We create these artifacts when running the test suite, so should remove
them when running the clean target.

Reported-by: Lucas Nussbaum <lucas@debian.org>
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0004-build-Remove-all-test-artifacts-on-clean.patch

3 years ago[PATCH libaio 03/16] build: Honor user build flags
Guillem Jover [Sun, 12 Apr 2020 02:01:27 +0000 (04:01 +0200)]
[PATCH libaio 03/16] build: Honor user build flags

CPPFLAGS, CFLAGS and LDFLAGS are user flags, which we need to preserve,
regardless of the user passing them over the environment or the
command-line. Any required flag that the build system needs, has to be
set in some other flag (which we will namespace with «MK_») so that the
build will use even if the user flags are passed, even though the user
should be able to override by appending after them. We pass CPPFLAGS to
any compilation command that missed them.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0003-build-Honor-user-build-flags.patch

3 years ago[PATCH libaio 02/16] build: Fix DESTDIR and pathname variables handling
Guillem Jover [Sun, 12 Apr 2020 01:58:12 +0000 (03:58 +0200)]
[PATCH libaio 02/16] build: Fix DESTDIR and pathname variables handling

The convention for DESTDIR is that it is only prefixed during the
install target. In this case we postpone that to the inner Makefile
so that it can be invoked directly while preserving the expected
semantics. We should also prefer the user specified pathname variables
if already set in any way, and do not need to pass them explicitly
to the sub-make.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0002-build-Fix-DESTDIR-and-pathname-variables-handling.patch

3 years ago[PATCH libaio 01/16] man: Fix typos
Guillem Jover [Sun, 10 Oct 2021 04:14:51 +0000 (06:14 +0200)]
[PATCH libaio 01/16] man: Fix typos

From f95e1898b6efd3eaf50273bd1c5a8a40816b5160 Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: https://marc.info/?l=linux-aio&m=164999309220532

Warned-by: lintian
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0001-man-Fix-typos.patch

3 years agolibaio (0.3.113-5) unstable; urgency=medium
Guillem Jover [Sun, 6 Aug 2023 19:12:34 +0000 (20:12 +0100)]
libaio (0.3.113-5) unstable; urgency=medium

  * Wrap fields in debian/tests/control.
  * Fix upstream build system to remove all test artifacts on clean.
    Reported by Lucas Nussbaum <lucas@debian.org>.

[dgit import unpatched libaio 0.3.113-5]

3 years agoImport libaio_0.3.113-5.debian.tar.xz
Guillem Jover [Sun, 6 Aug 2023 19:12:34 +0000 (20:12 +0100)]
Import libaio_0.3.113-5.debian.tar.xz

[dgit import tarball libaio 0.3.113-5 libaio_0.3.113-5.debian.tar.xz]

3 years agoMerge libaio (0.3.113-4) import into refs/heads/workingbranch
Guillem Jover [Wed, 18 Jan 2023 00:35:12 +0000 (00:35 +0000)]
Merge libaio (0.3.113-4) import into refs/heads/workingbranch

3 years ago[PATCH libaio] harness: Disable failing test 23
Guillem Jover [Tue, 19 Apr 2022 13:45:39 +0000 (15:45 +0200)]
[PATCH libaio] harness: Disable failing test 23

From 90fde4fb458fbf1d497c427c3f945f3d7ee11684 Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: not-needed

This new test fails on several architectures. But it is a new test
intended to check for a Linux kernel regression, so we are not worse
off than were before. Add it to the EXTRACASES variables, which has
currently the side effect of disabling it, as it is not handled
explicitly in the make target responsible for that variable.

Sent-Upstream: not-relevant
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0001-harness-Disable-failing-test-23.patch

3 years ago[PATCH libaio 14/14] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64...
Guillem Jover [Fri, 16 Aug 2019 00:33:46 +0000 (02:33 +0200)]
[PATCH libaio 14/14] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64-bit kernels

From 97daff5b92530896f9ea6e89ed2d1ec6df264944 Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: not-needed

The kernel compat syscall in the kernel got introduced with a broken
layout, which requires a pointer to the actual sigset_t variable but
with the size of the running kernel, not the size of the compat code.

This means that when the wrapper sends the expected compat (32-bit)
pointer, the kernel reads a 64-bit pointer, eating with it also the
sigset size member. And then proceeds to fail the comparison of the
sigset_t size and returns EINVAL.

This really needs to be fixed in the kernel, as there's no apparent
user of the broken compat layout (from codesearch.debian.org, nor a
quick github.com search). But we have to workaround it in libaio so
that we can use kernels that have not yet been fixed.

We do that, by trying the non-broken layout (that would be used with
a 32-bit userland on a 32-bit kernel), and if that fails with -EINVAL
we retry with a structure padded to what the kernel expects.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0014-Fix-io_pgetevents-syscall-wrapper-on-32-bit-userland.patch

3 years ago[PATCH libaio 13/14] Add x32 support
Guillem Jover [Sun, 12 Apr 2020 01:36:39 +0000 (03:36 +0200)]
[PATCH libaio 13/14] Add x32 support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0013-Add-x32-support.patch

3 years ago[PATCH libaio 12/14] Add SH support
Nobuhiro Iwamatsu [Sun, 12 Apr 2020 01:30:41 +0000 (03:30 +0200)]
[PATCH libaio 12/14] Add SH support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0012-Add-SH-support.patch

3 years ago[PATCH libaio 11/14] Add m68k support
Guillem Jover [Wed, 14 Aug 2019 01:25:22 +0000 (03:25 +0200)]
[PATCH libaio 11/14] Add m68k support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0011-Add-m68k-support.patch

3 years ago[PATCH libaio 10/14] Add PARISC support
Guillem Jover [Wed, 14 Aug 2019 01:22:10 +0000 (03:22 +0200)]
[PATCH libaio 10/14] Add PARISC support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0010-Add-PARISC-support.patch

3 years ago[PATCH libaio 09/14] Fix and improve MIPS support
Guillem Jover [Wed, 14 Aug 2019 01:18:50 +0000 (03:18 +0200)]
[PATCH libaio 09/14] Fix and improve MIPS support

Fix structure padding for MIPS 64, add syscall definitions, and the
kernel R/W pointer.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0009-Fix-and-improve-MIPS-support.patch

3 years ago[PATCH libaio 08/14] harness: Add KERNEL_RW_POINTER for various 32-bit architectures
Guillem Jover [Wed, 14 Aug 2019 01:30:09 +0000 (03:30 +0200)]
[PATCH libaio 08/14] harness: Add KERNEL_RW_POINTER for various 32-bit architectures

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0008-harness-Add-KERNEL_RW_POINTER-for-various-32-bit-arc.patch

3 years ago[PATCH libaio 07/14] syscall: Fix ia64 definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:44:43 +0000 (03:44 +0200)]
[PATCH libaio 07/14] syscall: Fix ia64 definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0007-syscall-Fix-ia64-definitions-to-match-exactly-the-ke.patch

3 years ago[PATCH libaio 06/14] syscall: Fix ARM definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:39:47 +0000 (03:39 +0200)]
[PATCH libaio 06/14] syscall: Fix ARM definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0006-syscall-Fix-ARM-definitions-to-match-exactly-the-ker.patch

3 years ago[PATCH libaio 05/14] Use new symver function attribute to support LTO builds
Guillem Jover [Tue, 2 Nov 2021 21:37:32 +0000 (22:37 +0100)]
[PATCH libaio 05/14] Use new symver function attribute to support LTO builds

From 3ec8be29fc945238788f1fc7f0d998b145a761c7 Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: https://marc.info/?l=linux-aio&m=164999309520544

The LTO support cannot work properly when there are versioned symbols
via asm statements, as those are not seen by the compiler. Use the new
function attributes if supported instead of the asm statements.

We need to move the SYMVER calls after the function definitions
otherwise it will reference symbols not yet seen.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0005-Use-new-symver-function-attribute-to-support-LTO-bui.patch

3 years ago[PATCH libaio 04/14] Move semicolon to SYMVER and DEFSYMVER call sites
Guillem Jover [Tue, 2 Nov 2021 23:20:50 +0000 (00:20 +0100)]
[PATCH libaio 04/14] Move semicolon to SYMVER and DEFSYMVER call sites

From fa00b019422170118b5b4086b84e2dfd1a50811e Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: https://marc.info/?l=linux-aio&m=164999309420541

These look like function macros, so let's unify their call sites to use
function syntax with a final semicolon.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0004-Move-semicolon-to-SYMVER-and-DEFSYMVER-call-sites.patch

3 years ago[PATCH libaio 03/14] build: Honor user build flags
Guillem Jover [Sun, 12 Apr 2020 02:01:27 +0000 (04:01 +0200)]
[PATCH libaio 03/14] build: Honor user build flags

CPPFLAGS, CFLAGS and LDFLAGS are user flags, which we need to preserve,
regardless of the user passing them over the environment or the
command-line. Any required flag that the build system needs, has to be
set in some other flag (which we will namespace with «MK_») so that the
build will use even if the user flags are passed, even though the user
should be able to override by appending after them. We pass CPPFLAGS to
any compilation command that missed them.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0003-build-Honor-user-build-flags.patch

3 years ago[PATCH libaio 02/14] build: Fix DESTDIR and pathname variables handling
Guillem Jover [Sun, 12 Apr 2020 01:58:12 +0000 (03:58 +0200)]
[PATCH libaio 02/14] build: Fix DESTDIR and pathname variables handling

The convention for DESTDIR is that it is only prefixed during the
install target. In this case we postpone that to the inner Makefile
so that it can be invoked directly while preserving the expected
semantics. We should also prefer the user specified pathname variables
if already set in any way, and do not need to pass them explicitly
to the sub-make.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0002-build-Fix-DESTDIR-and-pathname-variables-handling.patch

3 years ago[PATCH libaio 01/14] man: Fix typos
Guillem Jover [Sun, 10 Oct 2021 04:14:51 +0000 (06:14 +0200)]
[PATCH libaio 01/14] man: Fix typos

From f95e1898b6efd3eaf50273bd1c5a8a40816b5160 Mon Sep 17 00:00:00 2001
Origin: vendor
Forwarded: https://marc.info/?l=linux-aio&m=164999309220532

Warned-by: lintian
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0001-man-Fix-typos.patch

3 years agolibaio (0.3.113-4) unstable; urgency=medium
Guillem Jover [Wed, 18 Jan 2023 00:35:12 +0000 (00:35 +0000)]
libaio (0.3.113-4) unstable; urgency=medium

  * Switch to Standards-Version 4.6.2 (no changes needed).
  * Do not trim debian/changelog.
  * Update debian/patches metadata.

[dgit import unpatched libaio 0.3.113-4]

3 years agoImport libaio_0.3.113-4.debian.tar.xz
Guillem Jover [Wed, 18 Jan 2023 00:35:12 +0000 (00:35 +0000)]
Import libaio_0.3.113-4.debian.tar.xz

[dgit import tarball libaio 0.3.113-4 libaio_0.3.113-4.debian.tar.xz]

3 years agoMerge libaio (0.3.113-3) import into refs/heads/workingbranch
Guillem Jover [Sun, 4 Dec 2022 17:06:09 +0000 (17:06 +0000)]
Merge libaio (0.3.113-3) import into refs/heads/workingbranch

3 years ago[PATCH libaio] harness: Disable failing test 23
Guillem Jover [Tue, 19 Apr 2022 13:45:39 +0000 (15:45 +0200)]
[PATCH libaio] harness: Disable failing test 23

This new test fails on several architectures. But it is a new test
intended to check for a Linux kernel regression, so we are not worse
off than were before. Add it to the EXTRACASES variables, which has
currently the side effect of disabling it, as it is not handled
explicitly in the make target responsible for that variable.

Sent-Upstream: not-relevant
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0001-harness-Disable-failing-test-23.patch

3 years ago[PATCH libaio 14/14] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64...
Guillem Jover [Fri, 16 Aug 2019 00:33:46 +0000 (02:33 +0200)]
[PATCH libaio 14/14] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64-bit kernels

The kernel compat syscall in the kernel got introduced with a broken
layout, which requires a pointer to the actual sigset_t variable but
with the size of the running kernel, not the size of the compat code.

This means that when the wrapper sends the expected compat (32-bit)
pointer, the kernel reads a 64-bit pointer, eating with it also the
sigset size member. And then proceeds to fail the comparison of the
sigset_t size and returns EINVAL.

This really needs to be fixed in the kernel, as there's no apparent
user of the broken compat layout (from codesearch.debian.org, nor a
quick github.com search). But we have to workaround it in libaio so
that we can use kernels that have not yet been fixed.

We do that, by trying the non-broken layout (that would be used with
a 32-bit userland on a 32-bit kernel), and if that fails with -EINVAL
we retry with a structure padded to what the kernel expects.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0014-Fix-io_pgetevents-syscall-wrapper-on-32-bit-userland.patch

3 years ago[PATCH libaio 13/14] Add x32 support
Guillem Jover [Sun, 12 Apr 2020 01:36:39 +0000 (03:36 +0200)]
[PATCH libaio 13/14] Add x32 support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0013-Add-x32-support.patch

3 years ago[PATCH libaio 12/14] Add SH support
Nobuhiro Iwamatsu [Sun, 12 Apr 2020 01:30:41 +0000 (03:30 +0200)]
[PATCH libaio 12/14] Add SH support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0012-Add-SH-support.patch

3 years ago[PATCH libaio 11/14] Add m68k support
Guillem Jover [Wed, 14 Aug 2019 01:25:22 +0000 (03:25 +0200)]
[PATCH libaio 11/14] Add m68k support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0011-Add-m68k-support.patch

3 years ago[PATCH libaio 10/14] Add PARISC support
Guillem Jover [Wed, 14 Aug 2019 01:22:10 +0000 (03:22 +0200)]
[PATCH libaio 10/14] Add PARISC support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0010-Add-PARISC-support.patch

3 years ago[PATCH libaio 09/14] Fix and improve MIPS support
Guillem Jover [Wed, 14 Aug 2019 01:18:50 +0000 (03:18 +0200)]
[PATCH libaio 09/14] Fix and improve MIPS support

Fix structure padding for MIPS 64, add syscall definitions, and the
kernel R/W pointer.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0009-Fix-and-improve-MIPS-support.patch

3 years ago[PATCH libaio 08/14] harness: Add KERNEL_RW_POINTER for various 32-bit architectures
Guillem Jover [Wed, 14 Aug 2019 01:30:09 +0000 (03:30 +0200)]
[PATCH libaio 08/14] harness: Add KERNEL_RW_POINTER for various 32-bit architectures

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0008-harness-Add-KERNEL_RW_POINTER-for-various-32-bit-arc.patch

3 years ago[PATCH libaio 07/14] syscall: Fix ia64 definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:44:43 +0000 (03:44 +0200)]
[PATCH libaio 07/14] syscall: Fix ia64 definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0007-syscall-Fix-ia64-definitions-to-match-exactly-the-ke.patch

3 years ago[PATCH libaio 06/14] syscall: Fix ARM definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:39:47 +0000 (03:39 +0200)]
[PATCH libaio 06/14] syscall: Fix ARM definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0006-syscall-Fix-ARM-definitions-to-match-exactly-the-ker.patch

3 years ago[PATCH libaio 05/14] Use new symver function attribute to support LTO builds
Guillem Jover [Tue, 2 Nov 2021 21:37:32 +0000 (22:37 +0100)]
[PATCH libaio 05/14] Use new symver function attribute to support LTO builds

The LTO support cannot work properly when there are versioned symbols
via asm statements, as those are not seen by the compiler. Use the new
function attributes if supported instead of the asm statements.

We need to move the SYMVER calls after the function definitions
otherwise it will reference symbols not yet seen.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0005-Use-new-symver-function-attribute-to-support-LTO-bui.patch

3 years ago[PATCH libaio 04/14] Move semicolon to SYMVER and DEFSYMVER call sites
Guillem Jover [Tue, 2 Nov 2021 23:20:50 +0000 (00:20 +0100)]
[PATCH libaio 04/14] Move semicolon to SYMVER and DEFSYMVER call sites

These look like function macros, so let's unify their call sites to use
function syntax with a final semicolon.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0004-Move-semicolon-to-SYMVER-and-DEFSYMVER-call-sites.patch

3 years ago[PATCH libaio 03/14] build: Honor user build flags
Guillem Jover [Sun, 12 Apr 2020 02:01:27 +0000 (04:01 +0200)]
[PATCH libaio 03/14] build: Honor user build flags

CPPFLAGS, CFLAGS and LDFLAGS are user flags, which we need to preserve,
regardless of the user passing them over the environment or the
command-line. Any required flag that the build system needs, has to be
set in some other flag (which we will namespace with «MK_») so that the
build will use even if the user flags are passed, even though the user
should be able to override by appending after them. We pass CPPFLAGS to
any compilation command that missed them.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0003-build-Honor-user-build-flags.patch

3 years ago[PATCH libaio 02/14] build: Fix DESTDIR and pathname variables handling
Guillem Jover [Sun, 12 Apr 2020 01:58:12 +0000 (03:58 +0200)]
[PATCH libaio 02/14] build: Fix DESTDIR and pathname variables handling

The convention for DESTDIR is that it is only prefixed during the
install target. In this case we postpone that to the inner Makefile
so that it can be invoked directly while preserving the expected
semantics. We should also prefer the user specified pathname variables
if already set in any way, and do not need to pass them explicitly
to the sub-make.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0002-build-Fix-DESTDIR-and-pathname-variables-handling.patch

3 years ago[PATCH libaio 01/14] man: Fix typos
Guillem Jover [Sun, 10 Oct 2021 04:14:51 +0000 (06:14 +0200)]
[PATCH libaio 01/14] man: Fix typos

Warned-by: lintian
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0001-man-Fix-typos.patch

3 years agolibaio (0.3.113-3) unstable; urgency=medium
Guillem Jover [Sun, 4 Dec 2022 17:06:09 +0000 (17:06 +0000)]
libaio (0.3.113-3) unstable; urgency=medium

  * Add upstream/metadata fields for bug submitting and database.
  * Update lintian overrides.
  * Switch to Standards-Version 4.6.1 (no changes needed).
  * Move debian/copyright Source field immediately after Format field.
  * Export DEB_BUILD_MAINT_OPTIONS and DEB_CFLAGS_MAINT_PREPEND.
  * Switch from hardening=+bindnow to hardening=+all.
  * Enable future=+lfs build feature as it does not affect the shared library
    ABI, but affects the test harness.

[dgit import unpatched libaio 0.3.113-3]

3 years agoImport libaio_0.3.113-3.debian.tar.xz
Guillem Jover [Sun, 4 Dec 2022 17:06:09 +0000 (17:06 +0000)]
Import libaio_0.3.113-3.debian.tar.xz

[dgit import tarball libaio 0.3.113-3 libaio_0.3.113-3.debian.tar.xz]

4 years agoMerge libaio (0.3.113-2) import into refs/heads/workingbranch
Guillem Jover [Tue, 19 Apr 2022 13:57:07 +0000 (14:57 +0100)]
Merge libaio (0.3.113-2) import into refs/heads/workingbranch

4 years ago[PATCH libaio] harness: Disable failing test 23
Guillem Jover [Tue, 19 Apr 2022 13:45:39 +0000 (15:45 +0200)]
[PATCH libaio] harness: Disable failing test 23

This new test fails on several architectures. But it is a new test
intended to check for a Linux kernel regression, so we are not worse
off than were before. Add it to the EXTRACASES variables, which has
currently the side effect of disabling it, as it is not handled
explicitly in the make target responsible for that variable.

Sent-Upstream: not-relevant
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0001-harness-Disable-failing-test-23.patch

4 years ago[PATCH libaio 14/14] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64...
Guillem Jover [Fri, 16 Aug 2019 00:33:46 +0000 (02:33 +0200)]
[PATCH libaio 14/14] Fix io_pgetevents() syscall wrapper on 32-bit userland on 64-bit kernels

The kernel compat syscall in the kernel got introduced with a broken
layout, which requires a pointer to the actual sigset_t variable but
with the size of the running kernel, not the size of the compat code.

This means that when the wrapper sends the expected compat (32-bit)
pointer, the kernel reads a 64-bit pointer, eating with it also the
sigset size member. And then proceeds to fail the comparison of the
sigset_t size and returns EINVAL.

This really needs to be fixed in the kernel, as there's no apparent
user of the broken compat layout (from codesearch.debian.org, nor a
quick github.com search). But we have to workaround it in libaio so
that we can use kernels that have not yet been fixed.

We do that, by trying the non-broken layout (that would be used with
a 32-bit userland on a 32-bit kernel), and if that fails with -EINVAL
we retry with a structure padded to what the kernel expects.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0014-Fix-io_pgetevents-syscall-wrapper-on-32-bit-userland.patch

4 years ago[PATCH libaio 13/14] Add x32 support
Guillem Jover [Sun, 12 Apr 2020 01:36:39 +0000 (03:36 +0200)]
[PATCH libaio 13/14] Add x32 support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0013-Add-x32-support.patch

4 years ago[PATCH libaio 12/14] Add SH support
Nobuhiro Iwamatsu [Sun, 12 Apr 2020 01:30:41 +0000 (03:30 +0200)]
[PATCH libaio 12/14] Add SH support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0012-Add-SH-support.patch

4 years ago[PATCH libaio 11/14] Add m68k support
Guillem Jover [Wed, 14 Aug 2019 01:25:22 +0000 (03:25 +0200)]
[PATCH libaio 11/14] Add m68k support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0011-Add-m68k-support.patch

4 years ago[PATCH libaio 10/14] Add PARISC support
Guillem Jover [Wed, 14 Aug 2019 01:22:10 +0000 (03:22 +0200)]
[PATCH libaio 10/14] Add PARISC support

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0010-Add-PARISC-support.patch

4 years ago[PATCH libaio 09/14] Fix and improve MIPS support
Guillem Jover [Wed, 14 Aug 2019 01:18:50 +0000 (03:18 +0200)]
[PATCH libaio 09/14] Fix and improve MIPS support

Fix structure padding for MIPS 64, add syscall definitions, and the
kernel R/W pointer.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0009-Fix-and-improve-MIPS-support.patch

4 years ago[PATCH libaio 08/14] harness: Add KERNEL_RW_POINTER for various 32-bit architectures
Guillem Jover [Wed, 14 Aug 2019 01:30:09 +0000 (03:30 +0200)]
[PATCH libaio 08/14] harness: Add KERNEL_RW_POINTER for various 32-bit architectures

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0008-harness-Add-KERNEL_RW_POINTER-for-various-32-bit-arc.patch

4 years ago[PATCH libaio 07/14] syscall: Fix ia64 definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:44:43 +0000 (03:44 +0200)]
[PATCH libaio 07/14] syscall: Fix ia64 definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0007-syscall-Fix-ia64-definitions-to-match-exactly-the-ke.patch

4 years ago[PATCH libaio 06/14] syscall: Fix ARM definitions to match exactly the kernel
Guillem Jover [Sun, 12 Apr 2020 01:39:47 +0000 (03:39 +0200)]
[PATCH libaio 06/14] syscall: Fix ARM definitions to match exactly the kernel

Otherwise we get preprocessor warnings due to the redefinitions.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0006-syscall-Fix-ARM-definitions-to-match-exactly-the-ker.patch

4 years ago[PATCH libaio 05/14] Use new symver function attribute to support LTO builds
Guillem Jover [Tue, 2 Nov 2021 21:37:32 +0000 (22:37 +0100)]
[PATCH libaio 05/14] Use new symver function attribute to support LTO builds

The LTO support cannot work properly when there are versioned symbols
via asm statements, as those are not seen by the compiler. Use the new
function attributes if supported instead of the asm statements.

We need to move the SYMVER calls after the function definitions
otherwise it will reference symbols not yet seen.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0005-Use-new-symver-function-attribute-to-support-LTO-bui.patch

4 years ago[PATCH libaio 04/14] Move semicolon to SYMVER and DEFSYMVER call sites
Guillem Jover [Tue, 2 Nov 2021 23:20:50 +0000 (00:20 +0100)]
[PATCH libaio 04/14] Move semicolon to SYMVER and DEFSYMVER call sites

These look like function macros, so let's unify their call sites to use
function syntax with a final semicolon.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0004-Move-semicolon-to-SYMVER-and-DEFSYMVER-call-sites.patch

4 years ago[PATCH libaio 03/14] build: Honor user build flags
Guillem Jover [Sun, 12 Apr 2020 02:01:27 +0000 (04:01 +0200)]
[PATCH libaio 03/14] build: Honor user build flags

CPPFLAGS, CFLAGS and LDFLAGS are user flags, which we need to preserve,
regardless of the user passing them over the environment or the
command-line. Any required flag that the build system needs, has to be
set in some other flag (which we will namespace with «MK_») so that the
build will use even if the user flags are passed, even though the user
should be able to override by appending after them. We pass CPPFLAGS to
any compilation command that missed them.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0003-build-Honor-user-build-flags.patch

4 years ago[PATCH libaio 02/14] build: Fix DESTDIR and pathname variables handling
Guillem Jover [Sun, 12 Apr 2020 01:58:12 +0000 (03:58 +0200)]
[PATCH libaio 02/14] build: Fix DESTDIR and pathname variables handling

The convention for DESTDIR is that it is only prefixed during the
install target. In this case we postpone that to the inner Makefile
so that it can be invoked directly while preserving the expected
semantics. We should also prefer the user specified pathname variables
if already set in any way, and do not need to pass them explicitly
to the sub-make.

Signed-off-by: Guillem Jover <guillem@hadrons.org>
Gbp-Pq: Name 0002-build-Fix-DESTDIR-and-pathname-variables-handling.patch